// 纹理类
#pragma once
#include <glad/glad.h>
#include "../scion_utilities/hzpch.h"

namespace SCION_RENDERING
{
    class Texture
    {
    public:
        enum class TextureType
        {
            PIXEL = 0,
            BLENDED,
            NONE
        };
    private:
        GLuint m_TextureID;
        int m_Width, m_Height;
        std::string m_sPath;
        TextureType m_eType;
    public:
        Texture();
        Texture(GLuint id, int widht, int height, TextureType type = TextureType::PIXEL, const std::string& textruePath = "");
        ~Texture() = default;

        inline const int GetWidht()const { return m_Width; }
        inline const int GetHeight()const { return m_Height; }
        inline const GLuint GetID()const { return m_TextureID; }

        void bind();
        void Unbind();
    };
} // namespace SION_RENDERING
